﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Thor.Common;
using Thor.Domain;

namespace Thor.Domain
{
    public interface IInvalidLogonRepository : IRepository
    {
        /// <summary>
        /// Inserts an invalid logon entity into the repository.
        /// </summary>
        /// <param name="invalidLogon"></param>
        void Insert(InvalidLogon invalidLogon);

        /// <summary>
        /// Updates an invalid logon entity in the repository.
        /// </summary>
        /// <param name="invalidLogon"></param>
        void Update(InvalidLogon invalidLogon);

        /// <summary>
        /// Deletes an invalid logon entity from the repository.
        /// </summary>
        /// <param name="invalidLogon"></param>
        void Delete(InvalidLogon invalidLogon);

        /// <summary>
        /// Fetches all invalid logon entities from the repository.
        /// </summary>
        /// <returns></returns>
        List<InvalidLogon> Fetch();

        /// <summary>
        /// Fetches a single invalid logon entity from the repository.
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        InvalidLogon Fetch(Guid id);
    }
}
